class Solution {
public:
    int wiggleMaxLength(vector<int>& nums) {
        int n=nums.size();
        vector<int> arr;
        if(n==2&&nums[0]!=nums[1]) return 2;
        for(int i=0;i<n-1;++i)
        {
            if(nums[i+1]-nums[i]!=0)
                arr.push_back(nums[i+1]-nums[i]);
        }
        vector<int> dp(n,1);
        int ret=0;
        for(int i=1;i<arr.size();++i)
        {
            for(int j=0;j<i;++j)
            {
                if(arr[i]>0)
                    if(arr[j]<0)
                        dp[i]=max(dp[i],dp[j]+1);

                if(arr[i]<0)
                    if(arr[j]>0)
                        dp[i]=max(dp[i],dp[j]+1);

                ret=max(ret,dp[i]);
            }
        }
        return ret+1;
    }
};
